// SPWLTable.h: interface for the SPWLTable class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SPWLTABLE_H__71BBB03F_6B26_4660_B0B7_473E2E833FBA__INCLUDED_)
#define AFX_SPWLTABLE_H__71BBB03F_6B26_4660_B0B7_473E2E833FBA__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "MultiRecordsDatabaseElement.h"
#include "ManagerTemplate.h"
#include "SPWLTableRecord.h"

namespace PDMS
{
	namespace PDMSDBIF
	{
	
		typedef DatabaseTableTemplate<SPWLTableRecord> SPWLTableBase;
		class DllExport SPWLTable : public SPWLTableBase
		{
			DECLARE_REGISTER_MAP( SPWLTable );
		public:
			SPWLTable();
			virtual ~SPWLTable();
			
		protected:
			virtual StdString GetOpenSQL( const StdString& strCondition );
			virtual StdString GetTableName();
			virtual void SetData( RecordPtr_ ptr );
	
		public:
			unsigned long GetID() const;
			unsigned long GetParentID() const;
			unsigned long GetFluidID() const;
			unsigned long GetLineTypeID() const;
			unsigned long GetMaterialID() const;
			unsigned long GetRatingID() const;
			
			const StdString GetFluidDir() const;
			const StdString GetLineTypeDir() const;
			const StdString GetMaterialDir() const;
			const StdString GetRatingDir() const;
			const StdString GetSpecName() const;
			
			void SetID(const unsigned long ID);
			void SetParentID(const unsigned long ParentID);
			void SetFluidID(const unsigned long ID);
			void SetLineTypeID(const unsigned long ID);
			void SetRatingID(const unsigned long ID);
			void SetMaterialID(const unsigned long ID);

			void SetSpecName(const StdString& SpecName);
			void SetRatingDir(const StdString& RatingDir);
			void SetFluidDir(const StdString& FluidDir);
			void SetLineTypeDir(const StdString& LineTypeDir);
			void SetMaterialDir(const StdString& MaterialDir);
						
		private:

		};
	}
}




#endif // !defined(AFX_SPWLTABLE_H__71BBB03F_6B26_4660_B0B7_473E2E833FBA__INCLUDED_)
